1. Field of the Invention
The present invention relates to a cache control device, a cache control method, and a program thereof. More specifically, the present invention relates to a cache control device using a secondary cache having a large capacity, a cache control method, and a program thereof.
2. Description of the Related Art
A hard disk drive (HDD) is used as an external storage device of a computer system, and a disk array device that provides services such as speedup and duplication by combining a plurality of HDDs is also used.
With a disk device and a disk array device, the performance of I/O (input/output) can be improved when a part of the memory loaded on those external storage devices is used as a disk cache. Further, when the disk cache capacity is added up to increase the usability thereof, the performance of the disk array device and the like can be improved.
However, the memory loaded on the disk array device and the like is of a smaller amount compared to the total capacity of HDD managed in a memory disk array and the like. There is also a limit in the port, for example, for physically loading the memory when adding on the memory, so that there is a limit in increasing the capacity.
Recently, focused as a means for increasing the disk cache capacity is a performance improving method achieved by controlling I/O with the use of a storage medium (e.g., SSD: solid state disk) which is cheaper and has a larger capacity than the memory and is also higher in speed than HDD.
Further, SSD has such characteristics that data therein is managed with a unit of 4 KB and that erase processing is required with a unit of 256 KB, etc. In order to use SSD for the disk cache, a cache control method suited for such characteristics has been investigated.
Regarding the cache control, following technical documents Japanese Unexamined Patent Publication 2007-58349 (Patent Document 1), Japanese Unexamined Patent Publication 2008-059057 (Patent Document 2), Japanese Unexamined Patent Publication 2009-211226 (Patent Document 3), and Japanese Unexamined Patent Publication 2012-14435 (Patent Document 4) are known.
Disclosed in Patent Document 1 is a method for controlling N-way set associative control in which N-pieces of tags are provided for a plurality of cache lines (paragraphs [0003] to [0007]). Further, also disclosed is a method for improving the performance through simplifying the cache control actions by omitting invalid processing for a primary cache at the time of replacing data of a secondary cache (non-inclusive in paragraphs [0018], [0010]).
Disclosed in Patent Document 2 is a method which has data loaded to a sharing cache (secondary cache) in advance from a main memory in order to effectively perform prefetching (preloading) according to the state of the cache line (paragraph [0024]). Further, also disclosed is an example of the structure with which a secondary cache management table for managing the storage state of the secondary cache memory and the prefetch requests is stored not in the secondary cache but in a prefetch control unit (paragraphs [0046], [0047], FIG. 1).
Disclosed in Patent Document 3 is a method (paragraph [0070], FIG. 11) which manages tags in a unit of cluster in order to minimize the volume of the management table such as changes in addresses as much as possible when using a flash memory such as SSD as a cache with a large capacity.
Disclosed in Patent Document 4 is a method which restores data stored in a secondary cache such as SSD but not stored in HDD by using a restoring tool in order to restore the data of the secondary cache or the like to HDD after a crash even when the data is not written in the HDD (FIG. 5, paragraphs 0043 to 0045 and the like). Further, in this case, disclosed is an example of the structure which stores management information of the secondary cache in the main memory (paragraphs [0023], [0035], FIG. 1).
Further, there are descriptions regarding a primary and a secondary cache memories in Japanese Unexamined Patent Publication 2008-217527 (Patent Document 5), and disclosed therein is a technical content where a volatile memory is used as the secondary cache memory in order to speed up input/output of data.
Furthermore, there are also descriptions regarding a primary and a secondary cache memories in Japanese Unexamined Patent Publication 2011-204060 (Patent Document 6), and disclosed therein is a technical content where SSD is used as the secondary cache memory and the durability is increased.
However, each of the above-described documents discloses nothing regarding a technical method for preventing the increase in the management information of the secondary cache due to the large capacity (including add-on and the like) and exhibiting the original performance of having the large capacity.
That is, it is not possible to manage the secondary cache having the large capacity at a high speed with the techniques of each of the above-described Patent Documents 1 to 6 and combinations thereof.
Particularly, when using a storage medium such as SSD which is faster than HDD but slower than a memory as the secondary cache, the access frequency influences the performance. Thus, with the related technique described above, it is difficult to increase the capacity while securing the performance.
It is therefore an exemplary object of the present invention to provide a cache control device, a cache control method, and a program thereof, which can increase the capacity of the secondary cache by suppressing the increase of the management information when using a storage medium of about a medium speed that is faster than a disk unit (HDD or the like) and slower than a memory as the secondary cache.